User interface (UI) design is strongly influenced by the types and amounts of data to be presented to, or entered by, a user via the UI being designed. For example, certain types of output data, such as percentages relating to relatable categories of data (e.g., data associated with different geographic areas over a particular time period), may be presented in a pie chart, while data covering different time periods (e.g., data associated with different months or years) may be depicted in a bar graph. The same is often true regarding input data, as a predetermined list of items from which a user is to select a particular item may be presented by way of a dropdown menu, while user textual input, such as a user-specified file name, may be facilitated by way of an input text box.
Typically, the types of data to be presented to, or entered by, a user also affects the UI “layout,” or arrangement of the individual UI items or “elements” representing that data. Generally, a UI developer is tasked with hardcoding the layout based on the particular elements to be presented in the UI. Consequently, the UI developer updates the UI layout when one or more aspects of that data are changed.